package org.project.single.service;

import com.github.pagehelper.Page;
import org.project.single.pojo.po.SysMenu;
import org.project.single.pojo.po.SysRoleMenuRel;
import org.project.single.pojo.ro.EnableRo;
import org.project.single.pojo.ro.menu.AuthMenuRo;
import org.project.single.pojo.ro.role.EditRoleBackRo;
import org.project.single.pojo.ro.role.RoleListBackRo;
import org.project.single.pojo.vo.role.RoleDetailBackVo;
import org.project.single.pojo.vo.role.RoleListBackVo;

public interface SysRoleService {
    /**
     * 后台角色修改
     * @param editRoleBackRo
     */
    void editRoleBack(EditRoleBackRo editRoleBackRo);

    /**
     * 获取角色列表
     * @param roleListBackRo
     * @return
     */
    Page<RoleListBackVo> getRoleListBack(RoleListBackRo roleListBackRo);

    /**
     * 角色详情
     * @param id
     * @return
     */
    RoleDetailBackVo getRoleDatailBack(String id);

    /**
     * 角色删除
     * @param id
     */
    void deleteRole(String id);

    /**
     * 角色启用
     * @param enableRo
     */
    void enableRole(EnableRo enableRo);

    /**
     * 菜单授权
     * @param authMenuRo
     */
    void authMenu(AuthMenuRo authMenuRo);

    /**
     * 查询角色是否有按钮权限
     * @return
     */
    SysMenu getRoleBtnPermission();
}
